package java14;

import java.time.Year;
import java.util.Objects;

public class SwitchSample {

    public static void main(String[] args) {
        // =================================
        // Switch 语句增强
        // 1. 多条件用逗号","分隔, 不需要写break防渗透
        // 2. 多语句用花括号"{}"包裹, 用yield返回结果
        // =================================
        int maxDayOfMonth = getMaxDayOfMonth(2022, 2);
    }

    // 获取月份的天数
    private static int getMaxDayOfMonth(Integer year, int month) {
        return switch (month) {
            case 1, 3, 5, 7, 8, 10, 12 -> 31;
            case 4, 6, 9, 11 -> 30;
            case 2 -> {
                Objects.requireNonNull(year);
                yield Year.isLeap(year) ? 29 : 28;
            }
            default -> -1;
        };
    }

}
